/* 
 * File:   PutCommand.h
 * Author: Bram
 *
 * Created on January 22, 2013, 11:39 PM
 */

#ifndef PUTCOMMAND_H
#define	PUTCOMMAND_H

#include "SendReceiveCommand.h"

class PutCommand : public SendReceiveCommand
{
public:
    PutCommand();
    PutCommand(const char *);
    PutCommand(const PutCommand& orig);
    virtual ~PutCommand();
    Command* createNew();
    bool isValid();
    
    void ExcecuteServerReceiveCommand(TcpSocket*, queue<Command *>& commandQueue);
    void ExcecuteServerSendCommand(TcpSocket*, queue<Command *>& commandQueue);
    
    void ExcecuteClientReceiveCommand(TcpSocket*, queue<Command *>& commandQueue);
    void ExcecuteClientSendCommand(TcpSocket*, queue<Command *>& commandQueue);
    
private:
    static PutCommand cInstance;

};

#endif	/* PUTCOMMAND_H */

